import { Router } from 'vue-router'
import { AxiosError } from 'axios'
import router from '@/router'

export class ErrorHandler {
  // 处理API错误
  static handleApiError(error: AxiosError) {
    const status = error.response?.status

    switch (status) {
      case 401:
        // 未授权，跳转到登录页
        // router.push('/login')
        break
      case 403:
        router.push('/403')
        break
      case 404:
        router.push('/404')
        break
      case 500:
        router.push('/500')
        break
      default:
        // 其他错误可以显示一个通用错误提示
        console.error('API Error:', error)
        break
    }
  }

  // 处理路由错误
  static handleRouteError(error: unknown) {
    console.error('Route Error:', error)
    router.push('/500')
  }

  // 处理全局错误
  static handleGlobalError(error: unknown) {
        if (error instanceof Error) {
            console.error('Error message:', error.message)
        } else {
            console.error('Unknown error:', error)
        }
        router.push('/500')
    }
}